【初心者向け】IPアドレスについての理解を深める

【初心者向け】IPアドレスについての理解を深める

Clock Icon2022.07.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

データアナリティクス事業本部ビッグデータチームのyosh-kです。
今回はIPアドレスについて理解していない点を調査しながらまとめていきます。

これまでの知識

  • 基本情報技術者試験取得
  • AWS CLF取得
  • 社会人になってからバックエンドエンジニアとして4年間勤務
  • インフラに苦手意識

理解していない点

IPアドレスに関して現段階で理解していない概念に関して調査しながら自問自答していくことで理解していきたいと思います。

  • IPアドレス
  • プライベートIP、グローバルIP(パブリックIP)
  • サブネットマスク
  • CIDR
  • 予約済みIPアドレス
  • WANとインターネットは違う?

IPアドレス

IPアドレスとはスマホやPCなど、ネットワーク上の機器に割り当てられるインターネット上の住所のような存在です。 形式としては「xxx.xxx.xxx.xxx」の形式で「x」に数字が入ります。この数字をもとにネットワーク上でデータをやりとりする通信を実現しています。

IPv4形式の例)

形式 範囲
xxx.xxx.xxx.xxx 0.0.0.0~255.255.255.255(※1) 「192.168.0.1」「8.8.8.8」

※1: IPアドレスは32ビットで構成されており、32ビットを8ビットずつ10進数に変換して表記しています。8ビットの「11111111」は10進数で「255」となります。

上記で紹介したIPアドレスの形式は「IPv4」と呼ばれる形式です。IPv4の組み合わせ数は約43億個となり、ほぼすべてが既に全世界へ割り振り済みのため、IPアドレスの枯渇が問題となっています。 このため、IPv4に変わるIPv6のIPアドレス利用が進められていますが、現時点ではIPv4が主流となっています。

グローバルIP(パブリックIP)、プライベートIP

IPアドレスには大きく分けてグローバルIP(パブリックIP)とプライベートIPがあります。
グローバルIPはWANで使用するIPアドレスでユニークな番号が割り振られています。
プライベートIPはLAN内で使用するIPアドレスでLAN内でユニークな番号の必要があります。

  • WAN・・・Wide Area Network。NTTなどの電気通信事業者が作っているネットワーク。離れた企業の拠点のLANを相互接続する。
  • LAN・・・Local Area Network。家庭や社内など限定されたエリアで使用するネットワーク。

プライベートIPアドレスは下記の番号の範囲で使用することが決まっています。

  • 10.0.0.0-10.255.255.255(10.0.0.0/8)(大規模ネットワーク向け)
  • 172.16.0.0-172.31.255.255(172.16.0.0/12)(中規模ネットワーク向け)
  • 192.168.0.0-192.168.255.255(192.168.0.0/16)(小規模ネットワーク向け)

以下に私の家でのネットワーク状況を表してみました。私は光回線を使用していますので、ONUという機器を経由してルーターでNAPT変換をしています。

  • ISP・・・Internet Service Providor。インターネット接続を提供する企業。
  • ONU・・・光ファイバーから送られる光信号をデジタル信号に変換する機器
  • ルーター・・・異なるネットワーク(WANとLAN)を接続するための装置で、NAPT変換やDHCP機能を持っています。
  • NAT変換・・・Network Address Translation。プライベートIPとグローバルIPを1対1で変換する技術。
  • NAPT変換・・・Network Address and Port Translation。1つのグローバルIPを複数のプライベートIP端末で併用し、同時にインターネットに接続できる技術。
  • DHCP機能・・・Dynamic Host Configuration Protocol。LAN上のコンピュータへプライベートIPを自動的に重複なく割り振る機能。

上記の会社のネットーワークを例にもう少しこのドットで区切られた数字の意味を理解していきます。IPアドレスは、ネットワーク部とホスト部という2つの部分から構成されています。家庭においてはルーター1台のネットワークですが、社内ネットワークやインターネットなどは、複数のネットワークがルータまたはスイッチで相互接続されています。IPアドレスのネットワーク部でどのネットワークかを識別し、ホスト部でネットワーク内のホストの機器を識別します。図で言いますとネットワーク部で識別されているのがLAN1(192.168.0)とLAN2(192.168.1)のどちらか。ホスト部で識別されているのがLAN1の場合にPC1、PC2、PC3どのPCかと考えるとわかりやすいかもしれません。
では、そのホスト部とネットワーク部はどこで分割されているのか、その分類法の一つがサブネットマスクです。

サブネットマスク

サブネットマスクとは、IPアドレスとセットで使われるもので、IPアドレスの32ビットのうち、どこまでがネットワーク部でどこからがホスト部かを示すものです。サブネットマスクもIPアドレスを8ビットずつ10進数に変換して表記します。例えば「255.255.255.0」のようにです。ビット1に対応している部分がネットワーク部、ビット0に対応している部分がホスト部を表します。

例) IPアドレス「192.168.0.1」、サブネットマスク「255.255.255.0」の場合

上記の場合は、「192.168.0.1」〜「「192.168.0.254」までの253個のIPアドレスを割り当てることができます。(後に記載しますがネットワークアドレスとブロードキャストアドレスは割り当てられません)

CIDR

サブネットマスクでは必ずネットワーク部を示す「1」が連続した後、ホスト部を表す「0」が連続するという決まりがあるので、「1」がいくつ連続しているかを示すCIDR(Classless Inter-Domain Routing)表記という表記法があります。これを用いることでIPアドレスの個数を調整できます。

例) IPアドレス「192.168.0.1」、サブネットマスク「255.255.255.0」の場合

予約済みIPアドレス

IPアドレスには、コンピュータなどのホストに割り当てられない、特別な用途で使用するものがあります。具体的に、ネットワークアドレス、ブロードキャストアドレス、ループバックアドレスが予約済みIPです。
ネットワークアドレスは、ホスト部の2進数のビットが全て 0 のアドレスです。ネットワークアドレスはネットワーク自体を指すアドレスとして使用されます。(例: 192.168.0.0/24)
ブロードキャストアドレスは、ホスト部のビットが全て 1 のアドレスです。ブロードキャストアドレスはあるセグメントに接続されている全てのホストにパケットを送信するためのアドレスとして使用されます。(例: 192.168.0.255/24)
ループバックアドレスは、自らを指すアドレスです。範囲としては「127.0.0.0/8」(127.0.0.0~127.255.255.255)で主に使用されるのは「127.0.0.1」です。ホスト名としては、「localhost」がデフォルトで設定されています。

- WANとインターネットは違う?

WANとインターネットは違います。広い範囲のネットワークという意味ではどちらも同じですが根本的には異なります。主な違いは次の2点です。

  • ネットワークの管理者
  • 通信相手

WANのネットワークはNTT、KDDI、ソフトバンクなどの通信キャリア(電気通信事業者)が全て構築・管理しています。
インターネットのネットワークはOCN、So-net、niftyなどのISP(Internet Service Providor)が個々のネットワークを管理しています。
またWANを経由した通信相手は同じ社内のPCやサーバーとなります。つまりWANは社内ネットワークになります。
一方インターネットは誰でも接続できますし、インターネットを経由した通信相手は、インターネット内の全ユーザーとなります。つまり外部のネットワークになります。

最後に

これまでも基本情報技術者試験やAWS CLFの試験の際にもIPアドレスの学習はしてきましたが、毎回曖昧な理解で進めてしまっていましたので今回まとめたことで理解を深めることができました。次回はこの知識を前提にAWSのVPCについてまとめていきたいと思います。

参考文献

【IPアドレスとは?】パブリックIP(グローバルIP)とプライベートIPの違いを解説
WANとインターネットの違いは?
IPアドレスの基礎知識
用語集(IPアドレスとは?) おうちで学べる ネットワークの基本
IP address - Network Address / Broadcast Address
インターネットとLAN・WANの違いは?

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.